When working on a new code base, particularly a large one, it is difficult to track execution of the code from interactions “on the glass” through the backend, to the end user once more. Even in a nicely architected application, there will be many different data flows for populating one interface field versus another. It is not easy to determine how a user interface (UI) field gets populated or updated. Typical solutions to this problem involve building a clear architecture to start with, manually writing reams of documentation (which are difficult to find and quickly get outdated), or telling our intrepid developer “just use the search in your IDE”. There are no automated approaches that make tracking data through an application easier. The business value is greatly reduced time to debug an application by being able to trace flow across many application layers.